// import {
//   defineStore
// } from 'pinia'
import { defineStore, createPinia } from "pinia";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
// 定义并导出容器
// 1.容器id唯一,pinia会将容器挂载到根容器
export const appState = defineStore({
  // id: 必须的，在所有 Store 中唯一
  id: 'appState',
  state: () => ({
    // 店铺信息
    storeInfo: {
      // storeName: "SUTUO", // 店铺名称
      storeName: "", // 店铺名称
      storeTip: "提高存在冗余库存的商品的销量", // 店铺提示
      storeDesc: "根据亚马逊的内部数据，遵循建议推出奥特莱斯限时促销的卖家，其相关商品的销量在接下来 4 周平均提高了 93%。", // 店铺描述
      storeUUID: "9527",
    },
    // 商品库存
    inventoryResult: [

    ],
    tempData: {}
  }),
  getters: {

  },
  actions: {
  
    inData(obj = {
      inventoryResult:[],
      storeInfo:{}
    }){
      this.inventoryResult = [];
      this.storeInfo = {
        storeName: "", // 店铺名称
        storeTip: "提高存在冗余库存的商品的销量", // 店铺提示
        storeDesc: "根据亚马逊的内部数据，遵循建议推出奥特莱斯限时促销的卖家，其相关商品的销量在接下来 4 周平均提高了 93%。", // 店铺描述
        storeUUID: "9527",
      }
    },
    clearGood() {
      this.inventoryResult = [];

    },
    clear() {
      this.inventoryResult = [];
      this.storeInfo = {
        storeName: "", // 店铺名称
        storeTip: "提高存在冗余库存的商品的销量", // 店铺提示
        storeDesc: "根据亚马逊的内部数据，遵循建议推出奥特莱斯限时促销的卖家，其相关商品的销量在接下来 4 周平均提高了 93%。", // 店铺描述
        storeUUID: "9527",
      }
    },
    deleteGood(params = {}) {
      const idx = this.inventoryResult.findIndex(item => item.uuid == params.uuid);
      this.inventoryResult.splice(idx, 1)
    },
    updateGood(params = {}) {
      const idx = this.inventoryResult.findIndex(item => item.uuid == params.uuid);
      if (idx !== -1) {
        this.inventoryResult[idx] = params
      } else {
        this.inventoryResult[idx] = params
      }

    },
    // 更新店铺信息
    updateStore(params) {
      this.storeInfo.storeName = params.storeName
      this.storeInfo.storeTip = params.storeTip
      this.storeInfo.storeDesc = params.storeDesc
    },
    // 获取商品列表
    getDataList(params = {
      current: 1,
      size: 10
    }) {
      const { current, size } = params
      let start = (current - 1) * size
      let end = current * size
      var list = this.inventoryResult.slice(start, end);
      return {
        data: list,
        total: this.inventoryResult.length
      }
    },

    // 添加商品
    addGood(params = {}) {


      this.inventoryResult.push({
        ...params,
        belong: this.storeInfo.storeUUID
      })
    },
    ceshi(params = {}) {
      this.tempData = params
    }
  },
  persist: true
  // persist:{
  //   storage:localStorage,
  //   paths:['appStore']
  // }
})

// piniaPersist(持久化)
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate);

export default pinia;

// export default userStore